function main() {
    let dt=202405190800; //pe.extraData.datetime;
    let ds1 = pe.Dataset("CMA/ER01/P001", dt) ;
    let ds2 = pe.Dataset("CMA/ER01/P002", dt) ;
    let ds3 = pe.Dataset("CMA/ER01/P003", dt) ;
    let ds4 = pe.Dataset("CMA/ER01/P004", dt) ;
    let ds5 = pe.Dataset("CMA/ER01/P005", dt) ;
    let ds6 = pe.Dataset("CMA/ER01/P006", dt) ;
    let ds7 = pe.Dataset("CMA/ER01/P007", dt) ;
    let ds8 = pe.Dataset("CMA/ER01/P008", dt) ;
    let ds9 = pe.Dataset("CMA/ER01/P009", dt) ;
    let ds10 = pe.Dataset("CMA/ER01/P010", dt) ;
    // 十个时刻求和
    let sum0 =ds1.add(ds2,0,30000,0)
            .add(ds3,0,30000,0)
            .add(ds4,0,30000,0)
            .add(ds5,0,30000,0)
            .add(ds6,0,30000,0)
            .add(ds7,0,30000,0)
            .add(ds8,0,30000,0)
            .add(ds9,0,30000,0)
            .add(ds10,0,30000,0);
    // 绘制区域增加值
    let valToAdd = 1000; //10mm scaled by 100
    // 获取绘制区域
    let geom1 = pe.geomById("rain.geojson");
    let dsForAdd=pe.NewDataset(3,256,256,1,0);
    // 针对绘制区域将增加值写入临时数据
    dsForAdd=dsForAdd.burn(geom1,valToAdd) ;
    // 10个时刻的和再次与感兴趣区增加值求和。
    let sumAdd=sum0.add(dsForAdd,0,32000,0);
    
    // 下面代码用于举例从sumAdd 值中拆分第3个时刻的值。
    let new_P003_ds=sumAdd.forEachPixel( function(va,i) {
        let old003 = ds3.tiledata[i];
        let oldsum = sum0.tiledata[i];
        let ratio = 0.0;
        if(oldsum>0) ratio=old003*1.0/oldsum;
        let new003=ratio*va[0];
        return new003;
    });
    
    return new_P003_ds ;
    
}